import request from '@/utils/request'

const urlbase = 'api/manager/attendance/v1'

export function apiConvert (cmd, parameter) {
  const urlpath = `${urlbase}/${cmd}`
  return request({
    url: urlpath,
    method: 'post',
    data: parameter,
    responseType: 'blob'
  })
}
// 特殊员工模块
export function getSpecialTableData (parameter) {
  return request({
    url: '/api/manager/config/v1/list',
    method: 'get',
    params: parameter
  })
}
export function setSpecialStaff (parameter) {
  return request({
    url: '/api/manager/config/v1/set',
    method: 'post',
    data: parameter
  })
}
export function delSpecialStaff (parameter) {
  return request({
    url: '/api/manager/config/v1/delete',
    method: 'post',
    data: parameter
  })
}
// 获取统计数据
export function getPeriodTimeStatistical (parameter) {
  return request({
    url: '/api/manager/attendance/v1/GetPeriodTimeStatistical',
    method: 'get',
    params: parameter
  })
}
// 获取日统计明细
export function getDailyStatistical (parameter) {
  return request({
    url: '/api/manager/attendance/v1/GetDailyStatistical',
    method: 'get',
    params: parameter
  })
}
// 获取日统计明细表格
export function getExport (parameter) {
  return request({
    url: '/api/manager/attendance/v1/ExportDailyStatistical',
    method: 'post',
    data: parameter,
    responseType: 'blob'
  })
}

// 特殊考勤日统计明细表格导出
export function exportDailyStatistics (parameter) {
  return request({
    url: '/api/manager/specialattendance/v1/exportdailystatistics',
    method: 'post',
    data: parameter,
    responseType: 'blob'
  })
}
// 处理考勤数据
export function process (parameter) {
  return request({
    url: '/api/manager/attendance/v1/process',
    method: 'post',
    data: parameter
  })
}
// 处理考勤数据
export function inoutrecord (parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/list',
    method: 'get',
    params: parameter
  })
}

// 导入员工
export function importUser (parameter) {
  return request({
    url: '/api/manager/config/v1/Import',
    method: 'post',
    data: parameter
  })
}

// 提取数据
export function pullRecord (parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/pull',
    method: 'post',
    data: parameter
  })
}

// 设备列表
export function getControlSelector (parameter) {
  return request({
    url: '/api/manager/v1/Control/GetControlSelector',
    method: 'get',
    params: parameter
  })
}

// 导出打卡名单
export function exportInoutRecord (parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/Export',
    method: 'post',
    data: parameter,
    responseType: 'blob'
  })
}

// 删除单条打卡记录
export function deleteInoutRecord (parameter) {
  return request({
    url: 'api/manager/inoutrecord/v1/delete',
    method: 'post',
    data: {ids:[parameter]},
  })
}

// 表格数据导出获取
export function getDailyStatisticalExport (parameter) {
  return request({
    url: '/api/manager/attendance/v1/GetDailyStatisticalExportData',
    method: 'get',
    params: parameter
  })
}


// 进出记录列表
export function getInoutrecordListApi(parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/list',
    method: 'get',
    params: parameter
  })
}
// 导出打卡记录
export function exportInoutrecordApi(parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/export',
    method: 'get',
    params: parameter
  })
}
// 添加打卡记录
export function postInoutrecordApi(parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/create',
    method: 'post',
    data: parameter
  })
}
// 拉取记录
export function postInoutrecordPullApi(parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/pull',
    method: 'post',
    data: parameter
  })
}
// 删除设备上打卡记录
export function delInoutrecordMachineApi(parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/machine/delete',
    method: 'post',
    data: parameter
  })
}
// 删除打卡记录
export function delInoutrecordApi(parameter) {
  return request({
    url: '/api/manager/inoutrecord/v1/delete',
    method: 'post',
    data: parameter
  })
}


// 班次设置列表
export function getAttClassListApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/list',
    method: 'post',
    params: parameter
  })
}
// 班次设置下拉列表
export function getAttClassSelectListApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/drop/list',
    method: 'get',
    params: parameter
  })
}
// 班次类别下拉列表
export function getAttClassTypeSelectListApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/type/drop/list',
    method: 'get',
    params: parameter
  })
}
// 班次设置编辑
export function editAttClassApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/set',
    method: 'post',
    data: parameter
  })
}
// 班次设置详情
export function getAttClassDetailApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/info?pkey=' + parameter.pkey,
    method: 'post',
    data: parameter
  })
}
// 班次设置删除
export function delAttClassApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/delete',
    method: 'post',
    data: parameter
  })
}

// 轮班设置列表
export function getShiftAttClassListApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/shift/list',
    method: 'get',
    params: parameter
  })
}
// 轮班设置下拉列表
export function getShiftAttClassSelectListApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/shift/drop/list',
    method: 'get',
    params: parameter
  })
}
// 轮班设置编辑
export function editShiftAttClassApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/shift/set',
    method: 'post',
    data: parameter
  })
}
// 轮班设置详情
export function getShiftAttClassDetailApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/shift/info?pkey=' + parameter.pkey,
    method: 'get',
    data: parameter
  })
}
// 轮班设置删除
export function delShiftAttClassApi(parameter) {
  return request({
    url: '/api/manager/attClass/v1/shift/delete',
    method: 'post',
    data: parameter
  })
}


// 排班列表
export function getScheduleAttClassListApi(parameter) {
  return request({
    url: '/api/manager/schedule/v1/person/attr-class/list',
    method: 'get',
    params: parameter
  })
}
// 员工班次设置
export function editScheduleAttClassApi(parameter) {
  return request({
    url: '/api/manager/schedule/v1/person/attr-class/set',
    method: 'post',
    data: parameter
  })
}
// 批量设置轮班排班计划
export function editScheduleShitPlanApi(parameter) {
  return request({
    url: '/api/manager/schedule/v1/shit-plan/set',
    method: 'post',
    data: parameter
  })
}
// 获取排班计划表
export function getScheduleGetPlanListApi(parameter) {
  return request({
    url: '/api/manager/schedule/v1/GetPlan',
    method: 'get',
    params: parameter
  })
}
// 获取设备下拉
export function getControlSelectListApi() {
  return request({
    url: '/api/manager/v1/control/drop/list',
    method: 'get',
  })
}